package collections;

import java.util.ArrayList;
import java.util.Collection;
/**
 * 测试 Collection 接口中的 addAll / containsAll / removeAll
 */
public class CollectionTest2 {
    public static void main(String[] args) {
        // 注意这里在 < > 中间使用的是 String
        Collection<String> first = new ArrayList<String>();

        first.add( "唐三藏" );
        first.add( "孙悟空" );
        first.add( "宋江" );
        first.add( "花荣" );
        System.out.println( "first=> " + first );

        Collection<String> second  = new ArrayList<String>();
        second.add( "李广" );
        second.add( "李敢" );
        second.add( "李凌" );
        System.out.println( "second => " + second );

        System.out.println( first.addAll(second) );
        System.out.println( first );

        System.out.println( first.containsAll( second) );//true
        System.out.println( second.containsAll(first) );//false

        System.out.println("**************************************");

        first.remove( "李广" );//删除李广
        System.out.println( "first=> " + first );
        System.out.println( "second => " + second );
        //removeAll()删除 参数 和 引用类型 的 交集
        System.out.println( second.removeAll(first) );
        System.out.println( "second => " + second );

        System.out.println( first.removeAll(second));
        System.out.println( "first=> " + first);

        // 当 containsAll 参数指定的集合 中包含的元素 全部都在 当前集合 中存在时返回 true  ，否则返回 false
        System.out.println( first.containsAll( second ) ); // false

    }
}
